/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package co.edu.distribuidos.conectividad;

import co.edu.distribuidos.mundo.AdministradorArchivos;
import co.edu.distribuidos.mundo.ArchivoDescargable;
import net.jxta.socket.JxtaSocket;

/**
 *
 * @author alvar-go@uniandes.edu.co
 */
public class ThreadSolicitud extends ThreadTemplate{

   private ArchivoDescargable archivo;
   
   private AdministradorArchivos administrador;
   
   public ThreadSolicitud(JxtaSocket socket, ArchivoDescargable archivo, AdministradorArchivos admin) throws Exception{
       super(socket);
       this.archivo = archivo;
       administrador = admin;
   }

   public void run(){
	   System.out.println("Inicio el thread");
       try {
    	String nombre = archivo.darNombre() + "." + archivo.darExtension();
    	System.out.println("creo el nombre");
		enviarLinea(ENVIAR + SEPARADOR + nombre);
		System.out.println("envio el nombre");
		String propietario = leerLinea();
		System.out.println("leyo propietario");
		String ruta = AdministradorArchivos.CARPETA_COMPARTIDA  +  administrador.darNombreNodo() + "/" +  administrador.darTipoArchivo(nombre) + "/" + nombre;
		System.out.println("ruta: " + ruta);
		recibirArchivo(ruta);
		System.out.println("leyo propietario");
		enviarLinea(GRACIAS);
		System.out.println("envio gracias");
	} catch (Exception e) {
		System.out.println("Error de procolo: " + e.getMessage());
	}
   }
   
}
